<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/3/28 0028
 * Time: 上午 11:39
 */
namespace app\http\response;

trait ResponseJson{

    /**
     * App请求成功时的返回 可能没有返回数据
     * @param array $data
     * @return string
     */
    public function jsonSuccessData($data = []){
        return $this->jsonResponse(0,'Success',$data);
    }

    /**
     * App请求成功时的返回 有数据带分页
     * @param $data
     * @param $total
     * @return string
     */
    public function jsonSuccessDataPage($data,$total){
        return $this->jsonResponsePage(0,'Success',$data,$total);
    }

    /**
     * 当App接口出现业务异常时返回
     * @param $code
     * @param $msg
     * @param array $data
     * @return string
     */
    public function jsonData($code,$msg,$data = []){
        return $this->jsonResponse($code,$msg,$data);
    }

    /**
     * 返回一个json
     * @param $code 业务状态码
     * @param $msg  信息提示
     * @param $data 数据
     * @return string
     */
    private function jsonResponse($code,$msg,$data){
        $content = [
            'code' => $code,
            'msg' => $msg,
            'data' => $data
        ];
        return json($content);
    }

    /**
     * 返回一个json 带分页
     * @param $code 业务状态码
     * @param $msg 信息提示
     * @param $data 数据
     * @param $total 数据总数量，即共多少条数据
     * @return string
     */
    private function jsonResponsePage($code,$msg,$data,$total){
        $content = [
            'code' => $code,
            'msg' => $msg,
            'data' => $data,
            'total' => $total
        ];
        return json($content);
    }
}